1. Field of the Invention
The present invention relates to methods and systems for accessing, controlling, and interfacing with a virtualized computer service over short and long distances with a lightweight client.
2. Description of the Related Art
In a virtual environment, a virtual resource is remotely accessed and controlled through a combination of hardware and software protocols. The virtual environment includes a plurality of dynamically scalable virtual resources that are provided as services over the Internet and are aptly termed cloud services due to the “clouding” of the underlying technology for accessing such virtual resources. A typical virtual environment can be characterized as a collection of computing hardware, a hypervisor that sits on top of the computing hardware and provides access to the computing hardware and a plurality of guests (Virtual machines or VMs) that sit on top of the hypervisor accessing the hardware through the hypervisor. A plurality of clients are used to connect to and remotely control the virtualized computer services (or simply virtual services) within the virtual environment via protocols. These protocols/derivations of protocols are used in the compression/decompression of the direct graphics stream associated with the VMs, using redundancy elimination and graphic instruction rewrites so as to enable lower bandwidth communication than the original graphics stream.
The above protocols have their own limitations and challenges. A significant limitation is that these protocols are tied to a specific platform or platforms (graphics/operating system layer) requiring the operating system or the graphics chip to be in harmony with the compression/decompression protocol. This means that the compression protocols leverage the “context” of the operating system graphics so that the commands can be interpreted and executed at the remote VMs within the virtual environment. The adverse effects of such platform specific protocols include usage of large CPUs both in the thin client and at the virtual service side for compression/decompression and interpretation of the progressive imagery and difficulty in handling large latency of long distance WAN network connections. Additional disadvantages include requirement of specialized chips (graphics chips) to decode the compression in certain circumstances, and high network consumption in other circumstances.
Additionally, the basis for formulating such platform specific software-based protocols was to drive fast performance through the operating system graphics layer. As a result, the direct interpretation of the operating system graphics commands was critical to the design of such protocol, making their design platform-specific, which carried over into the virtual machine environment. Another drawback of customized protocols is that their complexity makes them incompatible with many lightweight client devices, such as low power thin clients or mobile smartphone-class devices.
It is in this context, embodiments of the invention arise.